Coding method and coding apparatus for coding a serial data stream.
1. Field of the Invention
The invention relates to a coding method and a coding apparatus for coding a serial data stream using xe2x80x9cturbo codesxe2x80x9d.
2. Background
The coding matches the data stream from an information data source to a transmission system in order to increase the security of information transmission against interference. In the mobile radio sector, the transmission channel is subject to particularly severe interference. A new class o- coders have therefore been developed, xe2x80x9cturbo codersxe2x80x9d, which are particularly suitable for coding data to be transmitted in the mobile radio sector. Turbo coders are binary interlinked coding apparatuses comprising a plurality of interlinked coders. In this context, a distinction is drawn between serial-interlinked turbo coders and parallel-interlinked turbo coders.
FIG. 1 shows the design of a serial-interlinked turbo coding apparatus based on the prior art. A serial data stream d originating from an information data source is supplied to a data read-in device for reading in the data d, which reads in the data and codes them to form data frames of predetermined length. The data frames or data blocks are passed to a first coder A, which codes each data item within the data frame on the basis of a coding specification and outputs the coded data as a code data block C1 to an interleaving circuit. The interleaving circuit scrambles the coded data block C1 on the basis of an interleaving association specification stored in the interleaving circuit. The interleaving association specification or permutation matrix assigns to each data position within the code data block C1 a particular other data position. If the code data block comprises five bits, the interleaving circuit assigns the data item at the first position in the coded data block C1, for example, to the first position in the interleaved code data block C1xe2x80x2, while, by way of example, the data bit situated at the second position in the code data block C1 is set to the third position of the interleaved code output data block C1xe2x80x2.
Table 1 shows an example of an interleaving association or interleaving specification in which an output data sequence is produced from an input data sequence on the basis of the interleaving association specification.
As can be seen from Table 1, by way of example, the data bit read in at the second position is not output until at the fifth position in the output data block which is output.
The interleaved coded data block C1xe2x80x2 is supplied to a downstream-connected coder B which carries out new coding to form a coded data block C2. The coded data block C2 is likewise interleaved by an interleaving circuit and is output via a modulation device to an antenna for data transmission. The coder A is also called the external coder, while the coder B is called the internal coder. The coder A, the interleaving circuit I1 and the coder B form the actual data channel coder.
The serial-interlinked turbo coding apparatus, as shown in FIG. 1, does not perform systematic coding, since the data contained in the original data stream are not themselves transmitted, but instead only coded data are transmitted.
The second group of turbo coders, namely the parallel-interlinked coders, also performs systematic coding. FIG. 2 shows the design of a parallel-interlinked turbo coder based on the prior art. A serial data stream originating from an information data source and having serial data d is read in by a data read-in device and is combined in groups to form data blocks X. Each data block X comprises a plurality of data bits x1. The output of the data read-in device is connected to a first input of a multiplexer by means of a line L1. In addition, the output of the data read-in device is connected to the input of a first coder A by means of a line L2, said first coder coding the data block X on the basis of a coding specification to form a coded data block C1, and outputting it to a puncturing device. In addition, the data block X output at the output of the data read-in device via a line L3 is interleaved or re-sorted by an interleaving circuit I on the basis of a prescribed permutation matrix. The interleaved data block I(X) is supplied to a second coder (B), which codes the interleaved data block I(X) on the basis of a coding specification to form a code data block C2. The coded data block C2 is likewise supplied to the puncturing device P.
The puncturing device P logically combines the coded data block C1 and the coded data block C2 with a respective associated puncturing data field. The puncturing by the puncturing device P is carried out in order to increase the data transmission rate. The punctured coded data block P (C1) and the punctured data block P (C2) are applied to inputs of the multiplexer, which subjects the data block X which is read in and the two punctured data blocks P(C1) and P(C2) to time-division multiplexing to form a transmission data block S.
The text below describes the exact manner of operation of the parallel-interlinked turbo coder based on the prior art, as shown in FIG. 2, using an example to illustrate the problem on which the invention is based. In this example, the length of the data frame is 5 bits.
From a data source, a serial data stream is read in by the data read-in device and is coded to form a data block X comprising 5 bits:
x=(x1,x2,x3,x4,x5)
The coder A codes the read-in data block X on the basis of a coding specification to form a code data block C1:
C1=(c11,c12,c13,c14,c15)
The interleaving circuit I interleaves the read-in data block X on the basis of the following interleaving association, for example:
The interleaved data block I(x) is supplied to the coder B, which codes the interleaved data block on the basis of a coding specification to form a coded data block C2:
C2=(c21,c22,c23,c24,c25)
To increase the data transmission rate, the puncturing device P punctures the data block C1 coded by the coder A and the data block C2 coded by the coder B using a respective associated puncturing data field.
The puncturing data field for puncturing the first coded data block C1 is as follows:
P1=(10101)
The puncturing data field for puncturing the second coded data block C2 is as follows:
P2=(01010)
By logically combining the first coded data block C1 with the puncturing data field P1, a punctured coded data block P(C1) having the following form is produced:
P(C1)=(c11,0,c23,0,c25)
By puncturing the second coded data block C2, a punctured coded data block P(C2) is produced:
P(C2)=(0,c22,0,c24,0)
The multiplexer Mux multiplexes the read-in data block X and also the two punctured and coded data blocks P(C1), P(C2) output by the puncturing device P to form a transmission data block S.
The transmission data block S, contains, firstly, a systematic coding information content, because the original read-in data x1, x2, x3, x4, x5 are contained In the transmission data block S, and, secondly, the transmission data block S contains a nonsystematic information content, on account of the coded data c.
However, the parallel-interlinked turbo coding apparatus based on the prior art, as shown in FIG. 2, has the drawback that an associated, nonsystematic coded data bit c is not transmitted as nonsystematic information content for each original data bit of the read-in data block X, as becomes evident from the following table:
The coded data bits c11, c22, c13, c24, c15 which are contained in the transmission data block S and form the nonsystematic information content of the transmission data block S represent coded data bits for the original data bits x1, x3, x3, x5 and x5. For the original data bits x2 and x4, no coded data bits c are contained in the transmission data block S. The original data bits x2, x4 are transmitted merely systematically. The absence of the coded data bits for the original data x2 and x4 makes the nonsystematic information content of the transmission data block S lower than in a case in which each information data bit x has a corresponding coded data bit c transmitted for it. Accordingly, the bit error radio BFV rises with decreasing nonsystematic information content within the transmission data block S.
It is therefore the object of the present invention to provide a coding method and a coding apparatus for coding a serial data stream in which the nonsystematic information content of the coded transmission data stream is at a maximum.
The invention provides a coding method for coding a serial data stream having the following steps:
a data stream output by a data source is coded using at least one coder to form a coded data stream;
the data stream output by the data source is interleaved on the basis of predetermined interleaving associations to form at least one interleaved data stream;
the Interleaved data streams are coded using associated coders to form coded interleaved data streams; the coded data streams and the coded interleaved data streams are punctured by logic combination with associated puncturing data fields,
the puncturing data field for puncturing a coded interleaved data stream being interleaved before logic combination using that interleaving association which was used to interleave the coded interleaved data stream;
the data stream output by the data source and the punctured data streams are multiplexed to form a transmission data stream.
Advantageous refinements of the method according to the invention are specified in the subordinate subclaims.
The serial data stream output by the data source is preferably read in block by block for coding purposes.
In one preferred development, the interleaving association for interleaving the puncturing data field is read from the associated interleaving circuit. The interleaving association is preferably set.
In one preferred development, puncturing is effected by logically combining a data stream with a puncturing data field using a logic circuit.
The invention also provides a coding apparatus for coding a serial data stream having,
a data input for applying the serial data stream;
at least one coder, connected to the data input, for coding the data stream to form a coded data stream;
at east one interleaving circuit, connected to the data input, for interleaving the data stream to form an interleaved data stream on the basis of an interleaving association,
the Interleaved data stream being coded by a coder, connected downstream or the interleaving circuits, to form a coded interleaved data stream;
a puncturing device for puncturing the coded data stream and the coded interleaved data stream using a respective puncturing circuit by logically combining the data stream with a puncturing data field to form punctured data streams, the puncturing device having a puncturing interleaving circuit which interleaves the puncturing data field for puncturing the coded interleaved data stream on the basis of the associated interleaving association and outputs it to the puncturing circuit for logic combination with the coded interleaved data stream; and having
a multiplexer for multiplexing the serial data stream and the punctured data streams output by the puncturing device to form a transmission data stream.
In one preferred development of the coding apparatus according to the invention, the puncturing interleaving circuit is connected to the associated interleaving circuit by means of a read line for reading the interleaving association.
The interleaving circuits preferably each have a memory for storing the interleaving associations.
In one preferred development, the interleaving association in the interleaving circuits can be set using a respective setting line.
In one preferred embodiment of the coding apparatus according to the invention, the puncturing data fields can each be stored in memories in the puncturing device.
Preferably, the puncturing data fields can be set using respective setting lines.
Preferably, the puncturing circuit is a logic circuit for logically combining the data stream with the puncturing data field.
In accordance with one preferred development, the puncturing data Field contains a plurality of data elements which respectively adopt a logic high H-state or a logic low L-state.
In accordance with one preferred embodiment, the coding apparatus according to the invention has a data read-in device which reads in the serial data stream applied to the data input in order to output data blocks of determined length.
In this context, the length of the data blocks can preferably be set.
In accordance with another preferred development, the coders are recursive systematic convolutional coders.
The text below describes a preferred embodiment of the coding method according to the invention and of the coding apparatus according to the invention with reference to the appended drawings in order to illustrate features which are fundamental to the invention.